package com.retallife.user.service.User.Impl;

import com.retallife.user.dao.User.UserMapper;
import com.retallife.user.pojo.User.*;
import com.retallife.user.service.User.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class UserServiceImpl implements UserService {
    @Autowired
    UserMapper userMapper;

    /**
     * 查询user表单里面的数据
     * @return 查询的数据结果
     */
    public List<UserVo> findAllUser() {
        return userMapper.findAllUser();
    }

    public List<UserUpdateVo> findUser(UserNameVo userNameVo) {
        return userMapper.findUser(userNameVo);
    }

    /**
     * 查询用户的账号密码是否存在
     * @param userLoginVo
     * @return 是否有数据
     */
    public int findLoginUser(UserLoginVo userLoginVo) {
        return userMapper.findLoginUser(userLoginVo);
    }


    /**
     * 找回用户的密码。
     * @param userFindPasswordVo
     * @return 是否找回密码
     */
    public String findPasswordUser(UserFindPasswordVo userFindPasswordVo) {
        return userMapper.findPasswordUser(userFindPasswordVo);
    }

    /**
     * 查询用户的地址。
     * @param userName
     * @return 是否成功
     */
    public String findAddressUser(String userName) {
        return userMapper.findAddressUser(userName);
    }

    /**
     * 查询询用户的信用分。
     * @param userName
     * @return 是否成功
     */
    public int findFractionVoUser(String userName) {
        return userMapper.findFractionVoUser(userName);
    }

    /**
     * 增加用户的账号，密码，邮箱(注册)。
     * @param userRegistVo
     * @return 是否增加成功
     */
    public int addRegistUser(UserRegistVo userRegistVo) {
        return userMapper.addRegistUser(userRegistVo);
    }

    /**
     * 默认增加用户的头像。
     * @param userHeadImageVo
     * @return 是否增加成功
     */
    public int addHeadImageUser(UserHeadImageVo userHeadImageVo) {
        return userMapper.addHeadImageUser(userHeadImageVo);
    }

    public int addUserFraction(UserAddFractionVo userAddFractionVo) {
        return userMapper.addUserFraction(userAddFractionVo);
    }

    /**
     * 修改用户的数据。
     * @param userUpdateVo
     * @return 是否修改成功
     */
    public int updateUser(UserUpdateVo userUpdateVo) {
        return userMapper.updateUser(userUpdateVo);
    }
}
